package com.sl.proxy.server.dao.mapper;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sl.proxy.server.controller.req.system.SecurityGroupListReq;
import com.sl.proxy.server.dao.domain.entity.SecurityGroupDO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface SecurityGroupMapper extends BaseMapper<SecurityGroupDO> {
    List<SecurityGroupDO> selectByCondition(IPage<SecurityGroupDO> page, @Param("req") SecurityGroupListReq req);

    default void updateEnableStatus(String id, Integer enable, Date updateTime) {
        LambdaUpdateWrapper<SecurityGroupDO> set = new LambdaUpdateWrapper<SecurityGroupDO>()
                .eq(SecurityGroupDO::getId, id)
                .set(SecurityGroupDO::getEnable, enable);
        set
                .set(SecurityGroupDO::getModifyTime, updateTime);
        this.update(null, set
        );
    }
}
